1. Field of the Invention
The present invention relates generally to data conferencing, and more particularly to instant document sharing in a data conference.
2. Related Art
Whenever two or more people are involved in the viewing, creation or modification of a computer document, whether it be a browser web page, financial spread sheet, a CAD design, a circuit schematic layout, an organization report, a bit map image, and the like, succeeding drafts of the document are prepared, circulated, and modified in the process. Each person works on his or her portion of the document and stores it or forwards a copy to the next person. The next person will subsequently retrieve the stored copy or work on his or her copy of the document. Typically, several drafts of the document will be circulated before a final draft is produced. This is a very time-consuming process.
In the case where the reviewers involved in this document preparation process are at different geographical locations, getting the document from one location to another location and back becomes another tedious and time-consuming task. The document must be mailed or faxed to that person, further complicating the entire process.
An additional complication in many cases is that each person must have a copy of the document editing program required to view, create or modify the document. Examples of such document editing programs include Browsers, spreadsheet applications, word processing programs, image editing programs, and the like. Further, each person must have an identical copy of the document editing program. This scenario not only is expensive in many cases, but also requires additional effort to install, maintain, and update the document editing programs on the user""s individual computer systems, referred to here as client computer systems.
One alternative method to this process is to hold meetings where the users gather and comment on the document with the hope to reduce the number of drafts needed before a final draft is produced. The shortcoming with this method is that there may be significant travel time and travel cost in getting everyone to the same location. There may be an additional restriction that the xe2x80x9crightxe2x80x9d location is constrained to be the location with access to the xe2x80x9ccorrectxe2x80x9d document editing program. In addition, the final draft of the document is usually circulated again for final comments.
One solution to this problem is to use a teleconferencing software program to share the document among the geographically dispersed reviewers. This process is often referred to as xe2x80x9cdata conferencing.xe2x80x9d By using computer network connections, modem-connected phone lines, and the like, everyone can be connected via his or her computer. By using the teleconferencing software program, everyone""s computer screen can display the same document. In addition to using the software program and network or modem connections, conference calling over the voice phone lines or through the software program creates a dynamic and live atmosphere where everyone can participate in the discussion and refer to the document displayed on the screen.
The present invention is an apparatus, method, and computer program product for instant sharing of a remote document. In one embodiment, referred to as xe2x80x9cremote document sharing,xe2x80x9d a file located on a remote application server is converted to a xe2x80x9cshared documentxe2x80x9d which is distributed to the members of a data conference for review. The method of this embodiment includes printing the file, on the application server, to a virtual printer from an application associated with the file, thereby creating a shared document; and sending the shared document to a plurality of remote clients, whereby the shared document is displayed at each remote client by a viewer application.
In another embodiment, referred to as xe2x80x9cremote application sharing,xe2x80x9d the xe2x80x9cownerxe2x80x9d of a remote document shares the screens created by an application located on a remote application server, where the document is associated with the application. Each member of the application sharing session can view the screens and interact with the application. The method of this embodiment includes creating a shared screen at a server by sending an application screen generated by an application to a virtual device; sending the shared screen to a plurality of remote clients; presenting, on a display device attached to each of the remote clients, a display of the shared screen; collecting user input from a user at one of the remote clients; sending the user input to the remote server; causing the application at the remote server to edit the application screen based on the user input to produce an application screen update; creating a shared screen update at the remote server by sending the application screen update to the virtual device, wherein the shared screen update represents only the portion of the application screen that was edited; sending the shared screen update to the plurality of remote clients; and revising the display of the shared screen on each display device using the shared screen update.
In another embodiment, referred to as xe2x80x9cremote application viewing,xe2x80x9d the xe2x80x9cownerxe2x80x9d of a remote document shares the screens created by an application associated with the document. The other members of the data conference can view the screens, but cannot interact with the remote application. Only the owner can interact with the remote application.
In all embodiments, an annotation mode is available, where a transparent window is displayed over the shared document. Users can create objects to be displayed in the transparent window, thereby annotating the document.
One advantage of the present invention is that, by sharing applications in a client-server system, it provides robust, scalable, instant sharing of remote documents.
Another advantage of the present invention is that a document can be shared among clients without distributing the original full-featured document to those clients. Thus a client cannot present a modified copy of the document as an original.
Another advantage of the present invention is that it permits clients to use an application without permitting them to copy that application. Thus, clients can be billed for the use of the application on a per-use basis.
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings.
The present invention will be described with reference to the accompanying drawings.
FIG. 1 depicts an example client-server system in which the present invention may be used.
FIG. 2 depicts two clients engaged in an application sharing session using a conferencing server and an application server.
FIG. 3 is a block diagram of a client document sharing application according to a preferred embodiment of the present invention.
FIG. 4 is a block diagram of a server document sharing application according to a preferred embodiment of the present invention.
FIG. 5 depicts the software layers in a structured system environment.
FIG. 6 depicts the software layers in a structured system environment as modified by a preferred embodiment of the present invention.
FIG. 7 is a flow diagram depicting the operation of remote document sharing mode according to a preferred embodiment of the present invention.
FIG. 8 is a flowchart depicting the operation of remote document sharing mode according to a preferred embodiment of the present invention.
FIG. 9 is a flow diagram depicting the operation of remote application viewing mode according to a preferred embodiment of the present invention.
FIGS. 10A and 10B constitute a flowchart depicting the operation of remote application viewing mode according to a preferred embodiment of the present invention.
FIG. 11 is a flow diagram depicting the operation of remote application sharing mode according to a preferred embodiment of the present invention.
FIGS. 12A and 12B constitute a flowchart depicting the operation of remote application sharing mode according to a preferred embodiment of the present invention.
FIG. 13 depicts an example computer system capable of carrying out the functionality of the present invention.